home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Night Owl 6
/
Night Owl's Shareware - PDSI-006 - Night Owl Corp (1990).iso
/
020a
/
gds1.zip
/
GDS.DOC
< prev
next >
Wrap
Text File
|
1991-02-14
|
51KB
|
1,176 lines
GDS - Graphics Display System
-----------------------------
Written by Paul Schmidt
Copyright (c) 1990,1991 Paul Schmidt
All rights reserved.
i. CONTENTS
-----------
Legal Notices.............................................i
Introduction.............................................ii
Note About Use..........................................iii
What GDS Can Do For You..................................iv
What GDS Does NOT Do!.....................................v
Getting Started...........................................1
The GDS Text Screen.......................................2
Viewing Commands..........................................3
Slide Shows...............................................4
Antialiasing..............................................5
Dithering.................................................6
Command Line Parameters...................................7
Configuration File Details................................8
Common Problems And Solutions.............................9
Bug Reports..............................................10
Revision History.........................................11
ii. INTRODUCTION
----------------
One day, I was working on a simple card game and needed a
variety of cardback graphics. I referred to by library of
GIF files for some good scenery to put on the backs of cards
and found about 30 files which had nice scenery and pieces
which could be used quite nicely. Then I went to hell.
First, I converted a set of GIFs into IFF format and loaded
them into Deluxe Paint II Enhanced. Deluxe Paint is one of
the more powerful paint programs, and I was very surprised
to find that the brush size is limited to 64K (a forgivable
programming limit). After messing around with grids and
reducing chunks of images down in a nice orderly fashion, I
deleted the whole bunch. The time I spent messing with
Deluxe Pain (intentional typo) was actually more time than I
spent writing GDS.
I was very happy to find a program called 'GIFDESK' on a
bulletin board. It seemed to be just what I was looking
for, and it solved another problem for me also. The
documentation said it could reduce GIFs, but it was designed
for cataloging pictures, rather than just image reduction.
Great! Now I could get the graphics done, and I could
catalog my 150 megabytes of GIFs!
WRONG. GIFDESK is great for a simple catalog program, but
it doesn't do much for preserving images. The version I
have simply grabs dots from the original and slaps them in a
reduced space. Although I'm not sure, it seems to also use
a generic palette which further reduces the quality. In
short, all images get stomped on, some are very simply
unrecognizable.
Another problem which was mounting in the back of my mind
was that every GIF viewer I've seen either has mounds of
technical problems/quirks/bugs, or a user interface which
could make a commercial programmer vomit. ENOUGH ALREADY!
I was disgusted, in between projects, and wired on coffee.
I downloaded CompuServe's GIF file specifications for
encoding and decoding and got to work. A day later, GDS was
a reality.
I make no claims that GDS is everything. The general
outline of the program is based around a very few simple
concepts, and there is certainly room for improvement.
To my knowledge, there is no shareware program which can
reduce and/or catalog GIF images with any integrity at all,
until now.
iii. NOTE ABOUT USE
-------------------
This is a shareware program. That doesn't mean it's
free...but on the other hand, I'm not asking anything for
it's personal use either. If you decide you must force
money on me, I'll understand, but feel free to explore
without retribution.
This program was developed using tools and techniques which
have taken me many years to develop, and I hope it shows.
Because of this, the following points will be taken very
seriously:
** DO NOT ** derive benefit from this software
professionally in any manner. DO NOT sell it. DO NOT
bundle it with any combination of products sold for money
(this does not include shipping charges for shareware
distributors).
BBS SYSOPS: Please use GDS to catalog your GIFs for your
users! I would like to know you are using it, how you like
it, and information about your setup. I am very interested
in providing good software (like this) to sysops, but I'm
not about to write any more unless you all communicate with
me. Again, I don't want money, I just want to get your
feedback. (See the BUG REPORTS section for my mailing
address.)
PEOPLE WHO COMPLAIN: There are advanced parts of the GDS
user interface which could use some simplification. While
this is true for you advanced users, I'm estimating that 95%
of the users won't do much more than double click with a
mouse or do slide shows. These two facets of GDS are very
simple. As for the parts which could use help? When I have
a time, I'll improve them.
iv. WHAT GDS CAN DO FOR YOU
---------------------------
1) GIF VIEWER - GDS is a very intuitive graphics file
viewer. It has a (very quickly implemented) user interface
based on many years of GUI experience. If you find an
easier graphics viewer, please let me know.
2) FILE FORMATS - GDS reads GIF, LBM, PCX, RIX, and
MAC files. It can write GIF, PCX, and RIX files directly
from the screen. Other formats may be added in future
versions. If you really need a format supported for
something, FAX or write me a note.
3) SLIDE SHOWS - GDS can easily allow you to queue up to
2800 images to show in a repeated sequence. At 5 seconds
per image, that's just under four hours without repeating an
image. GDS reads successive images ahead of time into EMS
or system RAM to minimize draw time, increasing the
appearance of the slide show.
4) IMAGE PROCESSING - GDS can scale images to almost any
size. This capability comes in very handy if you're trying
to reduce, enlarge or correct image scaling. NOTE: Give
system operators a break and don't use GDS to make larger
GIF files for more download credit.
5) ARRAYS - GDS has a very good image cataloging section
which reduces and labels arrays of images on the screen.
GDS creates spatially optimized palettes, uses two levels of
dithering and two dimensional antialiasing to reduce color
distortion. GDS can reduce up to 2304 images onto a single
1024x768 graphics screen. If you are a system operator of a
BBS, this is a great way to provide previews of many images
to your users.
6) SCREEN CONVERSION - GDS can lock a screen mode,
reduce and enlarge images to fit, or scale and zoom to
almost any dimensions. 256 color images can easily be
converted to 16 color images with antialiasing and dithering
to ensure spatial color consistency.
7) MOUSE SUPPORT - GDS is very mouse supportive (does
that make it cheezy?). Although almost everything can be
done with the keyboard (a couple of things can ONLY be done
with the keyboard), there is extensive mouse support in GDS.
Unless you are writing or rescaling images, GDS is extremely
quick with a mouse.
v. WHAT GDS DOES NOT DO!
------------------------
1) TIFF FILES - GDS makes no attempt to read or write
TIFF files. I sat down with some TIFF documentation one
night to support the TIFF file format, and spent several
hours setting up a code skeleton. After concentrating for
quite a while, I finally realized how the format worked, and
vowed never to support it. In my humble opinion, TIFF must
be the most ridiculous image format I've ever seen. Use
someone else's program to convert TIFF files into something
reasonable, and hopefully, TIFF will disappear forever
(wishful thinking).
2) WRITING FORMATS - GDS doesn't write LBM or MAC files.
It's something I could do, but haven't and don't have much
of a use for. GDS writes GIF, PCX, and RIX files. Deluxe
Paint II Enhanced (LBM files) will read PCX files. If you
really need support for writing a format, FAX or write me a
note and we'll discuss it.
1. GETTING STARTED
------------------
Since you can read this, you must have either gotten GDS as
a set of files, or already UNZIPped it out of it's original
ZIP file.
GDS can quickly be started by typing 'GDS' followed by
'Enter'. GDS should run with no command line options. GDS
can also be started from any path by specifying it's path on
the command line. It can also be run if it's in the
machine's PATH= list.
GDS parses file/path specifications and runtime switches as
command line parameters. Any number of paths/files may be
specified to GDS. However, if no actual files are found to
work with, GDS will say so and exit to DOS. GDS can't run
without files to work with. The following command line is
typical and completely safe:
C> GDS i:\dp\*.lbm j:\GIFs openscrn.gif
The first path specifies all LBM files in the 'DP' directory
on drive I:. The second path specifies all readable files
in the 'GIFS' directory on drive J:. The third path
specifies the single file 'OPENSCRN.GIF' in the currently
logged directory. If no path names are given, the current
directory is used ('*').
If you have problems getting GDS to run, refer to the
section titled 'Common Problems and Solutions'. The most
common problem is an unsupported video board.
2. THE GDS TEXT SCREEN
----------------------
After configuring GDS and getting it to function, the user
is presented with a screen containing a file display
consisting of file names, extensions, and file sizes in a
columnar format. The top line of the screen always shows
the version number and copyright message.
Getting out of GDS is easy. Just hit 'Esc' or click on the
'Quit' button.
The user may view images by pressing 'Enter' (or double
clicking) on a file name. The space bar toggles the
selection state of the file under the file cursor. Mouse
users can drag the mouse from one file to another to select
all files in between. Mouse users can click on a file,
which will deselect all currently selected files (when in
single view mode) and select the file under the mouse
cursor. When in single view mode, mouse users may toggle
ranges of files by holding down the shift key and
clicking/dragging, just like the Macintosh user interface.
In the slide show mode, the mouse always acts like the shift
key is held.
For keyboard users, pressing the 'Enter' key starts a view
in the current view mode (single or slides). Pressing
'Enter' does not change the selection state of ANY of the
files in the file list. Use the space bar to toggle the
selection state of files. (MOUSE USERS: It's usually easier
to set up fragmented slide shows with the keyboard!)
For mouse users, double clicking on a file will display that
file alone in single view mode, regardless of the current
view mode. Use the 'Enter' key or view button (see below)
to initiate slide shows.
Several buttons and menus are displayed in the second line
of the screen and on the bottom line. These areas are
referred to in this documentation as 'menu areas'.
In between the file display and the bottom menu area are two
lines displaying detailed information about the 'Current
File'. This is referred to as the 'file status area'. As
the file cursor is moved through the file list, GDS displays
information about each file under the file cursor. This
information includes the complete path and file name of the
file, it's screen resolution, number of colors, and the
exact file size in bytes.
On the right side of the file status area, the total number
of files and number of files selected are parenthetically
displayed. The number of files selected will not be
displayed unless files are currently selected.
Directly to the right of the file status area is a help
message which says "'Enter' views current selection" in a
rectangle. This area is referred to as the 'view button'.
This button is not important to keyboard users, except that
it tells them what to do to display an image.
The view button gives mouse users added flexibility because
clicking it starts a slide show. If there is more than one
file selected or NO files selected, the view button starts a
slide show regardless of the current view mode. If there is
one file selected, the view button will do a single view.
For mouse users, it's easiest to use the 'View:' menu to
change the behavior of single clicks in the file list (see
above) and use the view button to start slide shows.
Using the menus in GDS is simple from a keyboard or mouse.
From the keyboard, hold down 'Alt' and then hit the key
which matches the first highlighted character in the menu or
button you want to change (or click on it with a mouse). If
the menu or button you have selected has two or less
functions (like the 'MOUSE:' button), then the state of the
button just changes. If there are more than two choices,
then GDS presents the user with a menu. When using the
keyboard, the default menu selection will be highlighted.
You are free to use the arrow keys to navigate the menus and
press 'Enter' to select your option. You may also hit 'Esc'
to cancel selecting from a menu. With a mouse, just click
(or drag and let go on) your choice. To cancel selection
with a mouse, just click (or let go) outside of the menu
area.
The functions of each menu or button are discussed below:
Quit This button exits the program.
AutO/LOck This button shows the state of screen mode
locking. The default graphics mode is normally
meaningless unless this button is in the 'LOck' state.
Locking the screen mode forces images to be displayed
in the graphics mode selected in the 'RES:...' menu.
This is handy when reducing large images down to fit in
smaller screen modes, or reducing 256 color images down
to dithered 16 color images.
RES:... This menu allows the selection of the default
graphics and text modes. The default graphics mode has
no effect unless the 'AutO/LOck' button is in the
'LOck' state.
VIEW:... This menu allows the user to choose between
'Single' images and 'Slides' (slide shows). When this
menu is in 'Single' mode, any selection of a file will
deselect all other files first (unless the 'Shift' key
is held). When this menu is in 'Slides' mode, mouse
clicks never globally destructive to selections, but
rather always modify the selected state of files. Note
that with the mouse, double clicking always produces a
single view regardless of the state of this menu.
LABELS: This button tells whether or not labels are added
to the bottom of array images. It has no significance
to single views or slide shows. Since the 'label' and
'border' buttons have been added to the array
generation screen, this button may disappear to give
way to a more meaningful button or menu in the future.
BORDERS: This button tells whether or not borders are drawn
around array images. It has no significance to single
views or slide shows. Since the 'label' and 'border'
buttons have been added to the array generation screen,
this button may disappear to give way to a more
meaningful button or menu in the future.
ALIAS:... This menu allows the user to select what level of
antialiasing is performed for reduced images (see
'ANTIALIASING' section below). Hint: The default
antialiasing (horizontal only) is almost as fast as no
antialiasing at all. However, high quality image
reduction can take as much as 10 times longer depending
on the level of reduction. In general, considering the
increase in image quality, it's always worth using
horizontal antialiasing, and usually worth using high
quality image reduction.
AboUt This menu displays interesting information about
GDS. It has no function except to entertain you.
SORT:... This menu allows the user to select the sort order
for the file display. Selecting a new sort order
immediately causes the file display to be rearranged.
Note that selecting sort orders which require the
resolution or number of bits per pixel will force GDS
to research this information before a sort can be done.
This is annoying sometimes, but hey...you can't sort
information you don't have. GDS buffers the resolution
and number of bits per pixel so that it only has to
read it once.
MOUSE:... This button toggles the mouse between a bitmapped
text cursor and a character cursor. Some video
displays do not conform to the VGA hardware standard
for text character sets and may cause GDS to display a
garbled mouse cursor. If this happens, click on the
'MOUSE:; button. Note that the state of the mouse can
be set in the configuration file so you don't have
click the 'MOUSE:' button every time you run GDS.
PALETTE: This menu controls the palette generation for
array images. GDS will use no more colors in the
palette than are specified in the 'PALETTE:' button.
This setting normally has no effect on single views or
slide shows. Note that this number can be set in the
configuration file so you don't have to set it every
time you'd like to create reduced palette arrays.
Using the command line option is also useful in that it
is not limited to a 'nice' number. The user can
specify any number (like 27) for the number of colors
to use.
DITHER: This menu allows the user to specify the level of
dithering to be used when generating array images. No
dithering means that GDS will not try to increase color
consistency. Two color dithering generates checker-
board patterns which are functionally imperceptible
except in low resolution graphics modes. Uneven
dithering is more obvious than two color dithering, but
greatly enhances the general look of 16 color
renditions of images which start out with many more
colors. Hint: There is almost no speed difference in
using dithering. The biggest delay is the delay just
before the image is read where GDS generates it's
conversion table. There is almost no speed difference
in putting up raw pixels vs. dithered pixels. In
short, dithering doesn't slow GDS down perceptibly.
FILESHOW: This menu allows the user to toggle different
elements of the file display on and off. Note that
these elements can be set on or off in the
configuration file so you don't have to set it every
time you run GDS.
3. VIEWING COMMANDS
-------------------
GDS has some interesting features when images are viewed
alone. Images can be viewed alone by using 'Enter', or by
double clicking a file with a mouse.
Slide shows will not allow the user to do any of these
functions. Arrays, on the other hand, will allow the user
to write GIF, PCX, and RIX images ('Alt-W', 'Alt-P' and
'Alt-R'). Note that the 'Alt-W', 'Alt-P', and 'Alt-R'
commands can be set up with the '/W###' option to
automatically write a run of array images ONLY in the array
view mode. Array images can also be adjusted with the color
controls (F1-F10, ',', and '.').
For those of you who realize that the user interface for
some of the extended view functions isn't very nice,
congratulations. Perhaps if you FAX me something, I'll
improve it.
When viewing a single image or a carefully generated array
image, it is sometimes handy to adjust the palette manually.
The F1 through F10, ',', and ',' keys adjust the red leve,
green level, blue level, image contrast, image brightness
and color level. Reset the individual levels by holding
down the shift key and using the same keys. Every time a
level is changed, the entire palette is recalculated from
the original to prevent eventual palette degradation.
Esc Always exits view mode.
Enter Exits single view mode. During slide shows,
'Enter' exits if a slide is being drawn.
Space When viewing a single image, pressing the spacebar
exits back to the file screen unless the scale of
the image is not exactly the same as the original
image (Note: sometimes the first image displayed
is scaled, use space to return automatically
scaled images to their original scale). In array
generation mode, the spacebar will stop the
display of any images in progress and skip
directly to the next image in the list.
Alt-W Immediately starts writing a GIF file titled
"GDS###.GIF". The number used in place of '###'
is either 000 or whatever number was specified
with the '/W###' command line parameter. This
function will not overwrite existing files. Note
that you can use the '/N<template>' command line
parameter to change the name template for the
files which are written.
Alt-P Exactly like Alt-W, but uses the extension ".PCX"
instead. This may come in handy for those of you
using Deluxe Paint II Enhanced or any of Z-Soft's
software.
Alt-R Exactly like Alt-W, but uses the extension
".SC<c>" instead, where <c> is the screen
resolution indicator as prescribed by RIX Software
in Irvine, California. This may come in handy for
those of you using RIX's imaging software. Note
that GDS supports RIX 'UNCOMPRESSED' format only.
RIX Software is not releasing any information
about it's compressed formats. If you would like
to see compressed RIX file support, don't bother
asking me, and please ask RIX to allow developers
to support it.
Arrows The arrow keys adjust the position of the lower
right hand corner of the image rectangle. Using
the arrow keys alone moves the lower right corner
by two pixels at a time. Holding the shift key
down while using the arrow keys moves it by 20
pixels at a time. If you manage to get the image
messed up enough to start over, just hit the space
bar and the image will redraw at it's default
scale. This function is useful when used with
Alt-F to fine tune the scale for image reduction.
It's also very useful for correcting the size of
images that are stored with an odd screen size.
Alt-Z Start 'zoom' sequence. WORKS ONLY WITH A MOUSE.
Use 'Alt-Z' as follows when viewing an image: (1)
Press 'Alt-Z'. (2) Move the mouse pointer to the
upper left of a rectangle to zoom to the full
screen size. (3) Press and hold down a mouse
button. (4) While holding down the mouse button,
drag the mouse pointer to the lower right of the
desired rectangle. (5) Let go of the mouse
button. The zoom function will preserve the
current X to Y ratio for scaling in case you've
adjusted it or used 'Alt-F' to fit the image to
the screen. If you manage to zoom to the wrong
place or mess things up beyond comprehension, just
hit the space bar to redraw the image at it's
default scale.
Alt-F Fit image to screen. This function ATTEMPTS to
rescale an image to fit into the full screen. It
is useful for scaling images down. Depending on
the dimensions of the image, this may not produce
the desired results. If the aspect ratio of the
graphics mode or the image is not recognizable by
GDS, the image may end up very distorted. If this
happens, use the spacebar to redraw the image at
it's original scale.
F1/F2 Reduce/Increase palette red level.
F3/F4 Reduce/Increase palette green level.
F5/F6 Reduce/Increase palette blue level.
F7/F8 Reduce/Increase contrast.
F9/F10 Reduce/Increase brightness.
',' & '.' Reduce/Increase color. This function can reduce a
full color image to grey scale by using ',' to
completely eliminate all color content. The image
can further be reduced to a monochrome image by
increasing the contrast to maximum (F8). This
color level control compensates for the eye's
responsiveness to red, green, and blue for minimal
color distortion.
Shift-F1 Reset red level to that of original image.
Shift-F3 Reset green level to that of original image.
Shift-F5 Reset blue level to that of original image.
Shift-F7 Reset contrast to that of original image.
Shift-F9 Reset brightness to that of original image.
Shift-',' Reset color to that of original image.
Alt-F1, Alt-F2, Alt-F3, Alt-F4, Alt-F9, Alt-F10
These keys do all sorts of neat stuff, but I'm not about to
explain why or how. Ignoring these is a good idea. Have a
nice day.
4. SLIDE SHOWS
--------------
GDS has two separate methods of generating slide shows. The
first is to select a range of files from within the normal
GDS user interface and set the 'View:' menu to 'Slides'.
When GDS is in set this way, normal viewing of images
results in a slideshow (except mouse double clicks; see
VIEWING COMMANDS).
The second method is to specify the '/S' option on the
command line. GDS will bypass the normal user interface and
immediately start a slide show using any files specified on
the command line.
The '/O' option is normally ON (1), which sorts the file
list when the '/S' option is specified. Specifying '/S0' on
the command line will prevent GDS from sorting the file
list.
The '/Z' option specifies the delay in 100ths of seconds
between slides. Two seconds, for example, would be
specified using '/Z200'. If '/Z' is not specified, GDS will
wait for at least 5 seconds between each slide.
It is often necessary to give a slideshow on a very specific
set of files which may be inconvenient to enter on the
command line. The '@<FILE>' option is used to tell GDS to
read a list of filenames from <FILE>. Using the '@<FILE>'
option can save you a lot of time and allow you to customize
your slideshows to your heart's content. An example of a
typical planned slideshow is as follows:
C> gds /s @filelist /o
The first option ('/s') tells GDS to do an automatic slide
show. The second option ('@filelist') tells GDS to read the
file 'filelist' for a list of files to show. The third
option prevents GDS from sorting the file list.
5. ANTIALIASING
---------------
Antialiasing is a term used to describe the color correction
applied to pixel hues in order to maintain the overall
appearance of an image. Most often, antialiasing means
adjusting the colors along partially covered pixels when
drawing a line on a bitmapped screen.
GDS uses antialiasing only when reducing an image. It
doesn't smooth out transitions between enlarged pixels.
Perhaps in a future version, enlargement smoothing may be
supported.
GDS uses a very high performance antialiasing technique
which scans colors from many original image pixels and
combines them to form a single destination pixel. What this
gives you is an extremely accurate representation of the
original image, but using far less dots to do it.
An interesting side effect of antialiasing is that it tends
to reduce the size of the resulting GIF file. Originally, I
expected the file size to increase, but was fascinated when
it dropped by about 9.6% for each dimension of antialiasing
applied.
6. DITHERING
------------
GDS normally mixes colors together when appropriate in order
to increase the apparent color resolution. A good example
of this is when an image has a section which fades evenly
from one color (like red) to another color (like blue). The
result in the middle is purple. When images are reduced and
combined on the same screen, the demand for colors is high.
In high resolution GIF images, there are 256 colors per
picture. If you try to mix 80 pictures together, you would
need 20480 colors in order to represent the pictures without
any hardware color distortion.
When GDS doesn't have a color available (like purple from
the example above), it looks for two colors which when
displayed closely together appear to have the color of the
original pixels. This results in an almost imperceptible
change from the original color in 256 color modes.
Almost as interesting as the effect antialiasing has on
resulting GIF file sizes, dithering increases GIF file size
by about 9.6% for each level of dithering applied.
7. COMMAND LINE PARAMETERS
--------------------------
All command line parameters may be prefaced with a forward
slash ('/') or a dash ('-'). Command line parameters are
processed in the order they are received. Basically, they
act like most other command line scheme.
Available command line options are as follows:
/A<n> Set default antialiasing level (0-2)
/B<n> Set default mouse display mode (0-1)
/D<n> Set default dithering level (0-2)
/F#### Set default file display options
/G<mode> Set default graphics display mode
/H or /? Display help screen with these switches listed
/I<n> Set early interlaced fill mode
/L<n> Set default labels on/off switch
/M<n> Set maximum number of colors in generated palette
/N<temp> Set template for filename generation
/O<n> Set sort flag for automatic slide shows (1=sort)
/S<n> Slideshow mode (no user interface, just slides)
/T<mode> Set default text display mode
/V<n> Set vertical orientation mode
/W<n> Set automatic array stream write after first Alt-W
/Z<n> Set delay in between slides in slide shows
/<NAME> Force graphics support
/512 Force support for 512K VGA modes
@<FILE> Get list of files from FILE.
/B<n> This option sets the mode in which the text mouse
cursor is displayed. When this option is set to 0, GDS will
display a highlighted character as a text mouse cursor.
When this option is set to 1, GDS will attempt to remap
characters in the EGA/VGA character set to implement a
graphics cursor in text mode. The default setting of this
option is determined at runtime, and depends on the hardware
you have. If your cursor doesn't look right, try changing
the /B option in your GDS.CFG file.
/F#### This option allows the user to specify what
information should be displayed in the file list at startup.
The four number (or pound) signs each hold a place for a 1
or a 0, indicating whether or not the given option is on or
not. The list of file options is as follows:
/F1??? Display file extension (default=0)
/F?1?? Display image resolution (default=0)
/F??1? Display number of bits per pixel (default=0)
/F???1 Display file size (default=1)
/G<mode> This option sets the default graphics mode to be
used for display. The format of <mode> should be
<n>x<n>x<n>, where the first value is the screen width, the
second value is the screen height, and the third number is
the number of bits per pixel (or number of colors). The
number of bits per pixel is optional for this option. The
default setting for this option is '/G640x480x8'.
/H or /? This option displays the runtime help screen.
/I<n> This option sets the 'early interlaced GIF fill
mode' option. When interlaced images are drawn, GDS can
fill in the breaks in between interlaced lines so the viewer
gets a better image of what the the picture is as fast as
possible. It appears that this was one of the intended uses
of interlaced image format in the original GIF
specification, but no other GIF viewers seem to do this.
When this option is enabled (1), interlaced images draw a
bit slower overall, but the user can see the general content
of the picture in about one quarter of the time it takes to
read the entire image. The default value of this switch is
ON (or 1).
/M<n> This option puts a ceiling on the number of colors
GDS is allowed to use when it generates common palettes for
combining many GIF images into arrays of images. This
option is significant because the resulting file size of GIF
files written with one bit less per pixel is about 9.5%
smaller than the original number of bits per pixel. This
means that a 128 color image will be approximately 91% of
the size of the similar 256 color. The disadvantage to
limiting the palette is that the color resolution drops, and
therefore the picture quality suffers.
/N<template> This parameter sets the 'printf()' style
template for filenames generated by GDS when array files are
written. If you don't know what that means, DON'T MESS WITH
IT! If you are familiar with printf(), then go ahead and
change the template. The default string used by GDS for
generating filenames is "GDS%03d", which creates a file such
as "GDS042.GIF".
/O<n> This option sets the sort flag for automatic slide
shows (/S). This option has no effect when the '/S' option
is not specified. To sort the file list before an automatic
slide show, specify /O1. To leave the file list unsorted,
specify /O0. The default value of this option is ON (or 0).
/S This option specifies automatic slide show mode. In
automatic slide show mode, no user interface is offered, and
a slide show starts immediately after startup. See the
'@<FILE>' option for a useful way to specify exactly what
files to show.
/T<mode> This option sets the default text mode to be used
for display. The format of <mode> should be <n>x<n>, where
the first value is the number of character columns, and the
second value is the number of screen lines. The default
value for this mode is '/T80x25'.
/W<n> This rather quirky option sets the state of a mode
wherein GDS will continue to generate and write array images
(GIF, PCX, or RIX) after the first time you press Alt-W,
Alt-P, or ALT-R, respectively. Using this option, GDS will
run through hundreds of files and generate an image for each
complete array screen. The default setting for this option
is OFF (or 0).
/Z<n> This options specifies the number of 100ths of
seconds to delay in between slides during a slideshow. The
default value is 5 seconds (91). The delay between slides
can be completely eliminated by setting this option to 0.
/<NAME> This option is used to force GDS to assume it has
the named video card. Normally, this is not necessary or
advisable. USE THIS OPTION WITH CARE. There is no telling
what could happen if you force a graphics card which
conflicts with the hardware you actually have. The
following video cards are currently defined:
/EGA Standard EGA or 100% compatible
/VGA Standard VGA or 100% compatible
/AHEAD Ahead Systems Chipset (type A)
/AHEADB Ahead Systems Chipset (type B)
/ATI ATI VGA Wonder
/CHIPS Chips and Technologies Chipsets
/EVEREX Everex Systems
/GENOA Genoa 6000 series
/OAK Oak Technologies
/ORCHID Orchid Technologies
/PARA Paradise Systems
/TRIDNT ATI Prism Elite (Trident Chipsets)
/TSENG Tseng Laboratories Chipset
/TSENG4 Tseng Laboratories Chipset (4000 series)
/VESA Standard VESA BIOS Interface
/VID7 Video Seven VRAM or FASTWRITE VGA
/ZYMOS Zymos HiRes 512K VGA
NOTE: If you have any problems with the video modes listed
in GDS.CFG, or find discrepancies, please FAX or write me a
note. I'm interested in supporting cards, although my time
is limited.
/512 Force support for 512K VGA. If your video card has
512K of display RAM and you are unable to get GDS to support
modes requiring 512K, try using the '/512' command line
switch. If using this option is successful, you may wish to
place this switch in GDS.CFG so you don't have to type it
every time you run GDS. The default setting of this switch
is 0 (off), and if /<NAME> is not specified, this switch is
set by GDS when it tries to automatically detect what type
of video adapter is present.
@<FILE> This option reads a list of image files from
<FILE>. FILE may be any valid path and filename. This is
usually used with automatic slide shows (see '/S').
8. CONFIGURATION FILE DETAILS
-----------------------------
Unless you know what you are doing and are familiar with
GDS, please stay away from the configuration file.
GDS.CFG is set up to define all video modes for all display
cards, and to give the user the ability to specify command
line arguments which he doesn't feel like typing all the
time. GDS.CFG will be read from the current directory
first, and then from the execution path. If GDS.CFG is not
found in either location, the program will object.
Any semicolon (';') found in the input stream is interpreted
as a comment. The semicolon and anything after it on the
same line is ignored. It is simple to disable lines in the
configuration file by placing a semicolon in front of it.
Primarily, tabs, spaces, and blank lines are ignored.
There are two types of configuration lines. The first
defines a video mode, and the second specifies automatic
command line options. The format of the video modes is as
follows:
A, B, C, D, E, F, G, H, I, J ;optional comment
A) Name of the video card
B) Horizontal screen resolution (number of columns)
C) Vertical screen resolution (number of lines)
D) Number of bits per pixel (or 0 for text mode)
E) AX register on INT 21h call to set video mode (see I)
F) BX register on INT 21h call to set video mode (see I)
G) CX register on INT 21h call to set video mode (see I)
H) DX register on INT 21h call to set video mode (see I)
I) This option has one of three meanings:
1) 0 if video mode is a standard graphics mode
2) 1 if video mode is directly programmed (VGA
register compatible cards only!
3) The base address of the screen if the video
mode is a text mode (indicated by 0 bits per
pixel)
J) Dot Mode (0=normal, 1=ATI 16 color chunky)
To specify automatic command line options, add a line to
GDS.CFG similar to the following example:
AUTO, /m64 /t132x44 ;limit palette to 64 colors
This example will behave as if you typed '/m64 /t132x44' on
the command line. All automatic command line parameters
will be processed AFTER the actual command line parameters.
There are examples of each of these two types of command
lines in the included GDS.CFG file. There are also comments
in the file which should offer more information.
9. COMMON PROBLEMS AND SOLUTIONS
--------------------------------
The following PROBLEM and SOLUTION pairs are included to
help you figure out what's wrong with your setup or GDS.
Each individual entry came from the experience of supporting
people who have problems with GDS.
PROBLEM: After GDS starts, it keeps doing something with
the disk drive which makes me paraniod! I don't like it and
I want it to stop.
SOLUTION: This inquisitive behavior is perfectly normal for
GDS. Don't worry, it's not a virus deleting your files!
GDS reads the number of bits per pixel and screen resolution
for every file in the file list whenever you haven't done
anything interesting for a few seconds. It will read about
15 listings and then pause for a couple of seconds and
repeat this pattern until it has read every file. It does
this so you don't have to wait for a long time if you want
to sort by something which needs to be read from every file
(like number of bits per pixel or screen resolution). If
you do anything with the user interface or hit any keys, GDS
will stop reading these files instantly.
PROBLEM: The file cursor flashes on and off very fast on
some files and GDS will not display them. GDS displays the
horizontal resolution of the file as '-1'.
SOLUTION: GDS does this because GDS thinks there is an error
in the file. If you don't believe there's an error in the
header of the file, try displaying the file with another
viewer. FAX or write me a note if you find a file that GDS
will not display, but other viewers will.
PROBLEM: GDS won't run, and gives me an error that says it
doesn't know what kind of video card I have.
SOLUTION: If you're sure you have a video card which is
compatible with the listings in GDS.CFG, then use the
'/<NAME>' option to tell GDS what card to use. You will
also have to use the '/512' option if you have 512K of video
RAM. If you don't know what kind of video card you have,
then you probably have one which is incompatible with GDS.
If you'd like to see the card supported, send me the
technical reference information with a brief cover letter.
If you really know what you're doing, you can add modes to
an existing board. None of these suggestions is supported.
PROBLEM: GDS displays the top part of 256 color images
fine, but the bottom part is either black or garbled.
SOLUTIONS:
A) Try locking each extended screen mode in the 'Res:'
menu and displaying files with it. See which ones screw up.
B) Check to see if there is enough RAM on your video
card to use the display mode you're trying to go into. If
not, you can disable the offending mode using a semicolon
(';') in GDS.CFG.
C) Look in GDS.CFG to see if the screen modes which
screw up are actually supported by your video card, and not
by a different video card. You may have to experiment with
the GDS configuration file to get a reliable list of modes
to use.
PROBLEM: Some pictures I have are squished to the left of
the screen when I view them with GDS.
SOLUTION: Yeah. Some are. Depending on the graphics mode
that the image was stored on and the different graphics
modes GDS supports for your video board, the aspect ratio of
images can be way off. GDS will not modify the literal
dimensions of a picture unless the picture is TOO BIG to fit
on the screen (if so, GDS will scale it down). These
squished images were written with a screen size which has a
much greater aspect ratio horizontally than the screen you
have. Most of the time, you can simply hit 'Alt-F' to fit
the image into the screen. Sometimes, however, people
(morons) store the images squished into normal screen sizes.
When 'Alt-F' doesn't work, try using the arrow keys (the
'Shift' key makes the arrows more powerful). To actually
FIX these images, just manipulate the image until it fits
nicely into the screen and write the image to a new file
using 'Alt-W', 'Alt-P', or 'Alt-R'.
PROBLEM: I see garbage on the text screen around the mouse
pointer whenever I move the mouse around. It is very
annoying.
SOLUTION: You must have a VGA which isn't supported by the
graphic/text mouse pointer. Edit GDS.CFG and add the line
'auto, /m0'. This will force the mouse to be a character,
rather than an arrow in text mode.
PROBLEM: The screen colors are ugly.
SOLUTION: Write a TSR which can tell if GDS is loaded and
monitors the BIOS screen mode and text screens. Write very
involved and optimized code which scans the text screen and
finds the places where GDS writes characters and change
their attributes using a user specified color set. When
someone get's this TSR running nicely, I'll add an easier
way to change GDS's screen colors. IN OTHER WORDS, LIVE
WITH THE COLORS.
10. BUG REPORTS
---------------
Bugs suck. But, like most things, they happen. I would
just like to note that I've taken every precaution to limit
bugs, and I think I've been thorough in my quest for a bug-
free program. HOWEVER -- bugs are inevitable.
The biggest area I'm suspecting bugs in is video support.
There is support for some 60 or so super vga cards. There
is code which the manufacturers say should work.
Unfortunately, I can only test what I have. I would be
interested to find out if certain cards do or don't work.
I have tested this software with the Video 7 VRAM VGA, Video
7 1024i, ATI Wonder+, Orchid Pro-Designer w/1MB, TVGA
(Trident) w/1M, Paradise VGA+ w/256K, and Oaktech 256K VGA.
I have not personally tested it with the other cards, but
have heard of much success. I have heard of bizarre
problems with some Paradise boards and am looking for
information relating to them.
Below I give my address. This is where you should write if
you do find a problem. I make no guarantees on ever fixing
a reported bug, regardless of it's nature.
GDS Graphics File Viewer
1194 Spring Valley Commons
Livermore, CA 94550
11. REVISION HISTORY
--------------------
1.00 02-10-91 First release, hope you like it.
---- -------- --------------------------------
--> No bugs reported yet. (I'm plugging my ears.)
1.01 02-11-91 Wow! that was fast!
---- -------- -------------------
--> 'Sort:' menu in earlier versions could easily lock up
GDS when used to sort by 'Bits per pixel' or 'Resolution' if
GDS had not yet read file information for all files in file
list. Although I haven't seen it, this bug may cause stack
overflows, 386 exceptions, and all sorts of other
unpredictable stuff.
--> Palette generation for array images is much more
accurate for images with varying numbers of bits per pixel.
In prior versions, images with fewer bits per pixel were not
represented equally among pictures with many bits per pixel.
This problem has been eliminated by padding smaller palettes
to bias the importance of their individual color ranges.
--> When displaying a 2, 4, 8, or 16 color image in single view
mode and the screen format used to display the image was an EGA
mode, some VGA boards would handle the EGA palette and VGA color
registers inconsistently. This occationally caused a color or two
to be incorrect. GDS now resets all EGA palette registers and all
VGA color registers every time the palette is set, which seems to
have corrected the problem.
NEW! Changed behavior of mouse clicks in file list when 'View:'
mode is set to 'slides'. Users tend to want to point at a file and
add it to the list rather than deselecting all other entries in
favor of the one their clicking on. So from now on, when you're
doing slides, remember that the mouse toggles files!
--> Fixed small moving button click problem in array setup.
1.02 02-12-91 QUIX RIX FIX.
---- -------- -------------
NEW! Added RIX support through the Alt-R command. Note that GDS
can only support the 'UNCOMPRESSED' RIX file formats as RIX
Software is not releasing any information about their compressed
file format. If you would really like to see support for
compressed RIX files, don't ask me -- ask RIX Software.
--> Fixed PCX file write for 16 color screen modes. In previous
versions, GDS would write odd images with the bits in the bytes
flipped around, and possibly the plane order reversed. This bug
may be a reflection of how much time I spent writing PCX support.
GDS now reads and writes PCX files correctly in all screen modes.
1.03 02-13-91 Slideshow fixups.
--> Corrected bug in slide shows which could incorrectly display
images which had been read completely into EMS before being
displayed. This bug is more common when the user hits the space
bar to bypass the slide show delay. Earlier versions of GDS could
display slide shows with image misalignment/fracturing or even
garbage in horzontal bands of images.
--> Corrected bug in array generation which could crash a system.
The bug occurs when the individual array images were reduced to
less than 1:32 of the original image size. This limitation was not
protected against in prior versions of GDS. GDS is now capable of
1:64 image reduction and limits the size of array images to prevent
users from reaching this limitation.
--> Corrected many bugs in 'Alt-Z' zoom function during single
image viewing. In prior versions, the zoom feature would inversely
compensate for the aspect ratio of the screen. This version should
handle the zoom feature as one would expect.
--> Corrected nasty bug in two dimensional antialiasing when
displaying zoomed areas. This bug would skew some lines in the
display to the left of where they should have been drawn. The
severity of the display problems depended on the level of zooming,
the aspect ratio of the original image, and the position of the
upper left zoom rectangle corner.
NEW! Added 'READMAC' file format to list of supported formats.
Readmac files (.MAC) can be read, but not yet written. Anybody out
there want to write these files? Let me know.
NEW! Added color control to single and array views. The overall
color level in the palette can be adjusted with the ',' and '.'
keys (normal case of '<' and '>'). To reset the color level, just
hit Shift-',' or Shift-'.' ('<' or '>'). This feature, along with
the other image palette options gives the user a surprising amount
of control over problem images.
NEW! Added page display compensation when generating arrays and
using 'Alt-F' to fit an image to the display. In previous
versions, high resolution portrait files would just be remapped to
the entire screen. GDS now looks at the screen resolution and
tries to figure out if it's a high resolution page display file.
NEW! Increased EMS support for read-ahead buffering for
slideshows. Slideshows now read images of any size while the
current image is displayed. This facility will automatically
buffer images, provided there is enough available system RAM and/or
EMS to hold the images.
NEW! Increased file table size to 2800 files. Yes, now you can
have a slideshow which will last just under four hours (at 5
seconds between images) without repeating an image. Previous
versions were limited to 2048 files.
NEW! Added 'label' and 'border' preference buttons to array
preview user interface. The 'Labels:' and 'Borders:' buttons may
disappear from the text file display screen in future versions.
NEW! Changed user interface for selecting array images. In
earlier versions, it was necessary to set the 'View:Arrays' and
then hit 'Enter' or click on the view button in order to start
array generation. GDS now starts array generation immediately when
the user selects 'Arrays of reduced images' from the 'View:' menu.
There is no longer a 'View:Arrays' mode in GDS.
NEW! Increased image reduction by 100%. Array images may now be
displayed reduced down to 0.04% in 1024x768 graphics modes. With
this increase, it is now possible to display 2304 reduced images on
one 1024x768 screen. I encourage anyone who has that many images
accessible to one machine to try this. At 150K per image, that's
over 345 megabytes of GIF files. Unfortunately, even with
antialiasing off, it should take an average of at least 5 seconds
per image on a 33Mhz 80386 machine, and that works out to about 3
hours and 12 minutes. I want a copy of the result!